package com.compunit.composite.core.interfaces.cx;

/**
 * <code>ICxUnit</code> defines the interface of an
 * unit of component implementation that has its own
 * primary class implementation, resource name and
 * properties map.
 *
 * @author Yi Wang (Neakor)
 * @version Creation date: 11-21-2009 18:30 EST
 * @version Modified date: 12-05-2009 13:50 EST
 */
public interface ICxUnit {

	/**
	 * Set the fully qualified class name of the class
	 * implementation.
	 * @param classname The <code>String</code> fully
	 * qualified class name.
	 */
	public void setClassname(final String classname);
	
	/**
	 * Set the resource file name.
	 * @param resourcename The <code>String</code> resource
	 * file name.
	 */
	public void setResourcename(final String resourcename);
	
	/**
	 * Retrieve the fully qualified class name of the
	 * implementation.
	 * @return The <code>String</code> class name.
	 */
	public String getClassname();
	
	/**
	 * Retrieve the resource file name.
	 * @return The <code>String</code> resource file name.
	 */
	public String getResourcename();
}
